星巡研究院

渗透视角下的操作系统底层

**1. 干什么** 存储于磁盘的可执行文件是静态程序,被操作系统载入内存并分配资源后成为进程。进程是操作系统进行资源分配与调度的基本单位,线程是进程内部被独立调度到 CPU 上的执行流。权限由内核在每次操作前依据进程携带的身份凭证进行判定。 **2. 谁在调** * 用户态主体:已载入内存的进程及其线程,在自身地址空间内执行指令。 * C 库封装层:Linux 的`fork`与`execve`、Windows 的`CreateProcess`、macOS 的`posix_spawn`,封装新进程创建流程。身份凭证由内核登记。 * 内核态主体:分配进程标识、划分隔离地址空间、核验身份凭证。 **3. 做什么业务** 内核为每个进程分配唯一进程 ID(PID),划分互不重叠的虚拟地址空间。同一进程内的多个线程共享该地址空间,各自参与 CPU 调度。每次文件访问、网络连接、内存申请前,内核先读取进程凭证:Linux 使用 UID/GID,Windows 使用访问令牌(Access Token,即携带用户身份与特权集合的内核凭证对象),macOS 在 UID 之上叠加 TC
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门